package com.wsoft.bpm.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wsoft.bpm.dto.ActModelDTO;
import com.wsoft.bpm.dto.ActModelDataDTO;
import com.wsoft.bpm.entity.ActReModelEntity;
import com.wsoft.bpm.query.model.ActModelQuery;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author zhonglj
 * @since 2024年09月05日 09:22:44
 */
public interface IActReModelService extends IService<ActReModelEntity> {
    /**
     * 部署
     *
     * @param modelId
     * @return java.lang.String
     * @author zhonglj
     * @date 2024-09-19 16:01
     **/
    String deploy(String modelId);

    /**
     * 分页模版数据
     *
     * @param reqVO
     * @return java.util.List<com.wsoft.bpm.entity.ActReModelEntity>
     * @author zhonglj
     * @date 2024-09-19 16:01
     **/
    List<ActModelDTO> pageList(ActModelQuery reqVO);

    /**
     * 保存流程模版设计数据到数据库
     *
     * @param modelDTO
     * @author zhonglj
     * @date 2024-08-28 13:26
     **/
    void saveModelData(ActModelDataDTO modelDTO);

    /**
     * 创建流程模版
     *
     * @param modelDTO
     * @return 模版id
     * @author zhonglj
     * @date 2024-08-28 13:31
     **/
    String createModel(ActModelDTO modelDTO);

    /**
     * 查询模版设计数据
     *
     * @param modelId
     * @return java.lang.String
     * @author zhonglj
     * @date 2024-08-28 13:39
     **/
    String xmlView(String modelId);

    /**
     * 删除模版
     *
     * @param modelId
     * @return void
     * @author zhonglj
     * @date 2024-09-19 16:02
     **/
    void deleteModel(String modelId);

    /**
     * 更新模版
     *
     * @param modelDTO
     * @return void
     * @author zhonglj
     * @date 2024-09-23 9:22
     **/
    void updateModel(ActModelDTO modelDTO);

    /**
     * 记录模型key值，后面历史key值匹配用
     *
     * @param modelId
     * @author zhonglj
     * @date 2024-09-27 9:08
     **/
    void recordModelKey(String modelId);
}
